The growth in demand for telecommunication services is increasing at an ever-quickening pace. The majority of the demand is being driven by the explosion in the use of the Internet and a steady stream of new applications being introduced which further increase the demand for increased bandwidth. Currently, a large portion of the Internet traffic is still carried by circuit switched transport facilities. In the case of Metropolitan Area Networks (MANs), most of the traffic is transported over SONET/SDH based networks most of which were originally resigned for voice traffic. With time, more and more customers are using the networks for transporting data, video, and other applications, in addition to voice.
The requirements for networked communications within the user community have changed dramatically over the past two decades. Several notable trends in the user community include (1) the overwhelming domination of Ethernet as the core networking media around the world; (2) the steady shift towards data-oriented communications and applications; and (3) the rapid growth of mixed-media applications. Such applications include everything from integrated voice/data/video communications to the now commonplace exchanges of MP3 music files and also existing voice communications which have begun to migrate towards IP/packet-oriented transport.
Ethernet has become the de facto standard for data-oriented networking within the user community. This is true not only within the corporate market, but many other market segments as well. In the corporate market, Ethernet has long dominated at all levels, especially with the advent of high-performance Ethernet switching. This includes workgroup, departmental, server and backbone/campus networks. Even though many of the Internet Service Providers (ISPs) in the market today still base their WAN-side communications on legacy circuit oriented connections (i.e. supporting Frame Relay, xDSL, ATM, SONET), their back-office communications are almost exclusively Ethernet. In the residential market, most individual users are deploying 10 or 100 Mbps Ethernet within their homes to connect PCs to printers and to other PCs (in fact, most PCs today ship with internal Ethernet cards) even though the residential community still utilizes a wide range of relatively low-speed, circuit-oriented network access technologies.
The use of Ethernet, both optical and electrical based, is increasing in carrier networks due to advantages of Ethernet and particularly Optical Ethernet, namely its ability to scale from low speeds to very high rates and its commodity-oriented nature. With the rapid increase in the demand for user bandwidth, and the equally impressive increase in the performance of Ethernet with the LAN environment, the demand for Metropolitan network performance is rapidly increasing. In response, there has been a massive explosion in the amount of fiber being installed into both new and existing facilities. This is true for both the corporate and residential markets.
Transparent LAN Service (TLS), which is also referred to as multipoint-to-multipoint (MP2MP), has been identified as one of the key services to be provided by an Ethernet based metro network (MEN). A TLS that provides virtual Ethernet LAN service is called an E-LAN (Ethernet LAN service) in the MEF standard specifications. TLS implementation in Multi-Protocol Label Switching (MPLS) networks is referred to as Virtual Private LAN Service (VPLS) in Internet Engineering Task Force (IETF) drafts. IEEE 802.1ad specifies provider bridges that implement E-LAN service by means of standard spanning-tree based bridging.
A TLS creates an emulated LAN segment for a given set of users. It provides a layer 2 broadcast domain that is capable of learning and forwarding using Ethernet MAC addresses for a given set of users.
Today, Ethernet is the predominant technology used for Local Area Network (LAN) connectivity and is gaining acceptance as an access technology as well. This is true especially in Metropolitan Area Networks (MANs) and Wide Area Networks (WANs). In a typical scenario, an Ethernet port connects a customer to the Provider Edge (PE) device. Customer traffic is subsequently mapped to a specific MPLS-based Layer 2 Virtual Private Network (VPN).
Traditional LANs provide unicast, broadcast and multicast services. Locations that belong to the same broadcast domain and that are connected via an MPLS network expect broadcast, multicast and unicast traffic to be forwarded to the proper locations. This requires MAC address learning on a per LSP basis, forwarding unicast destination traffic according to the learned information, packet replication across LSPs for multicast/broadcast traffic and for flooding of unknown unicast destination traffic.
One of the key features provided by Metro networks is enhanced SLA support. In many networks, the key for providing SLA to services is to enforce limits on the traffic rates allowed from each service and on the traffic rates of each service for which the SLA is applied. This is usually performed by using policers at the ingress or other points in the network. The policers may drop or mark the traffic with an indication, i.e. discard eligibility (DE) bit, of the treatment that it should get in the rest of the network. In order to provide enhanced SLA support, however, the network must provide appropriate SLA measurement capabilities.
Service level agreements typically include parameters and constraints for bandwidth (i.e. frame loss ratio), delay, delay variation (i.e. jitter) and availability. It is commonly required that provider networks provide packet loss measurements for the transport facilities they provide. Customers typically want information on the number of packets that did not make it to their destination. The end-to-end Service Level Agreement (SLA) measurement mechanisms and protocol described in U.S. Pat. No. 6,643,612, entitled “Mechanism And Protocol For Per Connection Based Service Level Agreement Measurement,” incorporated herein by reference in its entirety, provides very accurate calculation of delay, jitter and bandwidth (i.e. packet/frame/octet loss) for point-to-point connections.
A common problem, however, occurs in networks when a network node both (1) aggregates several traffic flows together and (2) performs policing on those traffic flows as a single bundle. In particular, the problem is that a situation is created whereby the behavior of the traffic flows and associated policing functions become synchronized or harmonized in such a way that a particular incoming traffic flow is always dropped, while other incoming traffic flows always pass. This behavior is highly undesirable in a network.
An example of this problem will now be presented. A block diagram illustrating several workstations connected to a metro Ethernet network (MEN) comprising prior art conventional edge and core switches is shown in FIG. 1. The example network, generally referenced 20, comprises a plurality of workstations (i.e. nodes) 22, labeled workstation A, B and C, a local Ethernet switch 24 and metro Ethernet network (MEN) 32. The MEN comprises plurality of switches including edge switch D 26, E 30 and core switch F 28.
The traffic flow from nodes A and B are 100 Mbps each. Switch D applies policing to its incoming traffic flows such that only 100 Mbps is allowed to be forwarded for the combined aggregate traffic flow from nodes A and B. This is because switch D applies a rate threshold of 100 Mbps to its incoming traffic flow. If both incoming traffic flows have the same packet size, the policer may get “locked” in a situation whereby the bandwidth of traffic forwarded by switch D is narrowed to 100 Mbps whereby the entire traffic flow from node A passes (i.e. forwarded) and the entire traffic flow from node B is dropped (or vice versa). The result that is actually desired in this case, however, would be to narrow the incoming traffic flow from nodes A and B to 50 Mbps each rather than dropping the entire flow of packets from either node A or node B.
An example of this “lockup” problem is illustrated in FIG. 2 which shows the behavior of a prior art policing machine that incorporates a prior art sliding window mechanism. The well-known sliding window mechanism operates as follows. For every incoming packet, the policer checks whether the bits accumulated in the previous time window exceeds the rate threshold. If the accumulated bits are below the threshold, the bits in the packet will be accumulated and packet will be allowed to pass. If the accumulated bits are over the threshold, the packet is dropped, and the number of bits in the packet will not be taken into account.
With reference to FIG. 2, the policer of switch D, operating with a fixed rate threshold, receives six packets. Three of the received packets are passed and three received packets are dropped. The three received packets that pass and are accumulated are all from node A while the three packets that are dropped and not accumulated are all from node B. A disadvantage of this policer behavior is that over time, the number of packets dropped will continue to be split unequally between the two incoming flows. This is due to the “lockup” or “lock step” caused by the policer mechanism and the particular traffic bandwidths and rate thresholds of the nodes and switches in the network.
Another example of the “lockup” problem described above is illustrated in FIG. 3 which shows the behavior of a prior art policing machine that incorporates a prior art token bucket mechanism. The well-known token bucket mechanism operates as follows. Normally, data flows into the token bucket in units of tokens which represent packets or bytes. Tokens flow into the bucket at rate “r”. Once the bucket is full of tokens (i.e. “s” tokens), all tokens that are subsequently received are discarded. Each token is worth a defined number of bytes, e.g., one byte.
In operation, when a packet arrives, if there are a number of tokens in the bucket at least equal to the number of bytes in the packet, the policing decision for that packet is to pass the packet. If there is an insufficient number of tokens in the bucket, then the policing decision for that packet is to drop the packet.
With reference to FIG. 3, the saw tooth represents the bucket filling up with tokens. The rate of filling the bucket, however, is in lock step with the incoming traffic flow rates from nodes A and B. As a result, packets from node B are always dropped while packets from node A always pass. The bucket never fills up fast enough to permit packets from node B to pass. Due to the use of a fixed rate threshold (i.e. an empty bucket), and the “synchronization” of the rate of filling with the rate of packets being received, node B over time is continually denied access to any bandwidth at all.
There is thus a need for a policer mechanism that avoids the problem associated with prior art policers. In particular there is a need for a policer that can regulate incoming traffic flows to a network switch that is able to avoid getting “locked” or “synchronized” to incoming traffic flows wherein traffic from one node is entirely dropped.